home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / othergnu / gnuplt_x.zoo / gnuplot.gih < prev    next >
Encoding:
Text File  |  1992-10-31  |  45.5 KB  |  1,263 lines

  1. ?
  2.  GNUPLOT is a command-driven interactive function plotting program.  It
  3.  is case sensitive (commands and function names written in lowercase
  4.  are not the same as those written in CAPS).  All command names may be
  5.  abbreviated, as long as the abbreviation is not ambiguous.  Any number
  6.  of commands may appear on a line, separated by semicolons (;). 
  7.  
  8.  Any command-line arguments are assumed to be names of files containing 
  9.  gnuplot commands. Each file is loaded with the `load` command, in the
  10.  order specified. Gnuplot exits after the last file is processed.
  11.  
  12.  Commands may extend over several input lines, by ending each line but
  13.  the last with a backslash (\). The backslash must be the LAST
  14.  character on each line. The effect is as if the backslash and newline
  15.  were not there. That is, no white space is implied, nor is a comment
  16.  terminated. Therefore, commenting out a continued line comments out
  17.  the entire command (see `comment`).
  18.  
  19.  In this documentation, curly braces ({}) denote optional arguments to
  20.  many commands.
  21.  
  22.  For help on any topic, type 'help' followed by the name of the topic.
  23. ?clear
  24.  The `clear` command erases the current screen or output device as
  25.  specified by `set output`.  This usually generates a formfeed on
  26.  hardcopy devices.  Use `set terminal` to set the device type. 
  27. ?comments
  28.  Comments are supported as follows: a # may appear in most places in a line
  29.  and GNUPLOT will ignore the rest of the line. It will not have this
  30.  affect inside quotes, inside numbers (including complex numbers), inside
  31.  command substitutions, etc. In short, it works anywhere it makes sense
  32.  to work.
  33. ?environment
  34.  A number of shell environment variables are understood by GNUPLOT.
  35.  None of these are required, but may be useful.
  36.  
  37.  If GNUTERM is defined, it is used as the name of the terminal type to
  38.  be used. This overrides any terminal type sensed by GNUPLOT on start
  39.  up, but is itself overridden by the .gnuplot (or equivalent) start-up
  40.  file (see help start-up), and of course by later explicit changes.
  41.  
  42.  On Unix and MS-DOS, GNUHELP may be defined to be the pathname of the 
  43.  HELP file (gnuplot.gih).
  44.  
  45.  On VMS, the symbol GNUPLOT$HELP should be defined as the name of 
  46.  the help library for gnuplot.
  47.  
  48.  On Unix, HOME is used as the name of a directory to search for a 
  49.  .gnuplot file if none is found in the current directory. 
  50.  On MS-DOS, GNUPLOT is used.  On VMS, SYS$LOGIN: is used.  
  51.  See help start-up.  
  52.  
  53.  On Unix, PAGER is used as an output filter for help messages. SHELL
  54.  is used for the `shell` command.
  55.  
  56.  On MS-DOS, COMSPEC is used for the `shell` command. 
  57. ?exit
  58. ?quit
  59.  The commands `exit` and `quit` and your computer's END-OF-FILE character
  60.  will exit GNUPLOT.  All these commands will clear the output device
  61.  (as the `clear` command does) before exiting. 
  62. ?expressions
  63.  In general, any mathematical expression accepted by C, FORTRAN,
  64.  Pascal, or BASIC is valid.  The precedence of these operators is
  65.  determined by the specifications of the C programming language.
  66.  White space (spaces and tabs) is ignored inside expressions. 
  67.  
  68.  Complex constants may be expressed as the {<real>,<imag>}, where <real>
  69.  and <imag> must be numerical constants.  For example {3,2}
  70.  represents 3 + 2i; {0,1} represents `i` itself. The curly braces 
  71.  are explicitly required here. 
  72. ?expressions functions
  73. ?functions
  74.  The functions in GNUPLOT are the same as the corresponding functions
  75.  in the UNIX math library, except that all functions accept integer,
  76.  real, and complex arguments, unless otherwise noted.  The `sgn`
  77.  function is also supported, as in BASIC. 
  78. ?expressions functions abs
  79. ?functions abs
  80. ?abs
  81.  The `abs` function returns the absolute value of its argument.  The
  82.  returned value is of the same type as the argument. 
  83.  
  84.  For complex arguments, abs(x) is defined as the length of x in the
  85.  complex plane [i.e.,  sqrt(real(x)**2 + imag(x)**2) ].
  86. ?expressions functions acos
  87. ?functions acos
  88. ?acos
  89.  The `acos` function returns the arc cosine (inverse cosine) of its
  90.  argument.  `acos` returns its argument in radians. 
  91. ?expressions functions arg
  92. ?functions arg
  93. ?arg
  94.  The `arg` function returns the phase of a complex number, in radians.  
  95. ?expressions functions asin
  96. ?functions asin
  97. ?asin
  98.  The `asin` function returns the arc sin (inverse sin) of its argument.
  99.  `asin` returns its argument in radians. 
  100. ?expressions functions atan
  101. ?functions atan
  102. ?atan
  103.  The `atan` function returns the arc tangent (inverse tangent) of its
  104.  argument.  `atan` returns its argument in radians. 
  105. ?expressions functions besj0
  106. ?functions besj0
  107. ?besj0
  108.  The `besj0` function returns the j0th Bessel function of its argument.
  109.  `besj0` expects its argument to be in radians.
  110. ?expressions functions besj1
  111. ?functions besj1
  112. ?besj1
  113.  The `besj1` function returns the j1st Bessel function of its argument.
  114.  `besj1` expects its argument to be in radians.
  115. ?expressions functions besy0
  116. ?functions besy0
  117. ?besy0
  118.  The `besy0` function returns the y0th Bessel function of its argument.
  119.  `besy0` expects its argument to be in radians.
  120. ?expressions functions besy1
  121. ?functions besy1
  122. ?besy1
  123.  The `besy1` function returns the y1st Bessel function of its argument.
  124.  `besy1` expects its argument to be in radians.
  125. ?expressions functions ceil
  126. ?functions ceil
  127. ?ceil
  128.  The `ceil` function returns the smallest integer that is not less than its
  129.  argument.  For complex numbers, `ceil` returns the smallest integer
  130.  not less than the real part of its argument. 
  131. ?expressions functions cos
  132. ?functions cos
  133. ?cos
  134.  The `cos` function returns the cosine of its argument.  `cos` expects its
  135.  argument to be in radians. 
  136. ?expressions functions cosh
  137. ?functions cosh
  138. ?cosh
  139.  The `cosh` function returns the hyperbolic cosine of its argument.
  140.  `cosh` expects its argument to be in radians. 
  141. ?expressions functions exp
  142. ?functions exp
  143. ?exp
  144.  The `exp` function returns the exponential function of its argument
  145.  (`e` raised to the power of its argument). 
  146. ?expressions functions floor
  147. ?functions floor
  148. ?floor
  149.  The `floor` function returns the largest integer not greater than its
  150.  argument.  For complex numbers, `floor` returns the largest
  151.  integer not greater than the real part of its argument. 
  152. ?expressions functions imag
  153. ?functions imag
  154. ?imag
  155.  The `imag` function returns the imaginary part of its argument as a
  156.  real number. 
  157. ?expressions functions int
  158. ?functions int
  159. ?int
  160.  The `int` function returns the integer part of its argument, truncated
  161.  toward zero. 
  162. ?expressions functions log
  163. ?functions log
  164. ?log
  165.  The `log` function returns the natural logarithm (base `e`) of its
  166.  argument. 
  167. ?expressions functions log10
  168. ?functions log10
  169. ?log10
  170.  The `log10` function returns the logarithm (base 10) of its argument.
  171. ?expressions functions real
  172. ?functions real
  173. ?real
  174.  The `real` function returns the real part of its argument.
  175. ?expressions functions sgn
  176. ?functions sgn
  177. ?sgn
  178.  The `sgn` function returns 1 if its argument is positive, -1 if its
  179.  argument is negative, and 0 if its argument is 0.  If the argument
  180.  is a complex value, the imaginary component is ignored. 
  181. ?expressions functions sin
  182. ?functions sin
  183. ?sin
  184.  The `sin` function returns the sine of its argument.  `sin` expects its
  185.  argument to be in radians. 
  186. ?expressions functions sinh
  187. ?functions sinh
  188. ?sinh
  189.  The `sinh` function returns the hyperbolic sine of its argument.  `sinh`
  190.  expects its argument to be in radians. 
  191. ?expressions functions sqrt
  192. ?functions sqrt
  193. ?sqrt
  194.  The `sqrt` function returns the square root of its argument.
  195. ?expressions functions tan
  196. ?functions tan
  197. ?tan
  198.  The `tan` function returns the tangent of its argument.  `tan` expects
  199.  its argument to be in radians. 
  200. ?expressions functions tanh
  201. ?functions tanh
  202. ?tanh
  203.  The `tanh` function returns the hyperbolic tangent of its argument.
  204.  `tanh` expects its argument to be in radians. 
  205. ?expressions operators
  206. ?operators
  207.  The operators in GNUPLOT are the same as the corresponding operators
  208.  in the C programming language, except that all operators accept
  209.  integer, real, and complex arguments, unless otherwise noted.
  210.  The ** operator (exponentiation) is supported, as in FORTRAN.
  211.  
  212.  Parentheses may be used to change order of evaluation.
  213. ?expressions operators binary
  214. ?operators binary
  215. ?binary
  216.  The following is a list of all the binary operators and their
  217.  usages:
  218.  
  219.   Symbol      Example      Explanation
  220.    **          a**b          exponentiation
  221.    *           a*b           multiplication
  222.    /           a/b           division
  223.    %           a%b         * modulo
  224.    +           a+b           addition
  225.    -           a-b           subtraction
  226.    ==          a==b          equality
  227.    !=          a!=b          inequality
  228.    &           a&b         * bitwise AND
  229.    ^           a^b         * bitwise exclusive OR
  230.    |           a|b         * bitwise inclusive OR
  231.    &&          a&&b        * logical AND
  232.    ||          a||b        * logical OR
  233.    ?:          a?b:c       * ternary operation
  234.  
  235.  (*) Starred explanations indicate that the operator requires
  236.  integer arguments.
  237.  
  238.  Logical AND (&&) and OR (||) short-circuit the way they do in C.
  239.  That is, the second && operand is not evaluated if the first is
  240.  false; the second || operand is not evaluated if the first is true.
  241.  
  242.  The ternary operator evaluates its first argument (a).  If it is
  243.  true (non-zero) the second argument (b) is evaluated and returned,
  244.  otherwise the third argument (c) is evaluated and returned. 
  245. ?expressions operators unary
  246. ?operators unary
  247. ?unary
  248.  The following is a list of all the unary operators and their
  249.  usages:
  250.  
  251.   Symbol     Example      Explanation
  252.    -           -a          unary minus
  253.    ~           ~a        * one's complement
  254.    !           !a        * logical negation
  255.    !           a!        * factorial
  256.  
  257.  (*) Starred explanations indicate that the operator requires an
  258.  integer argument.
  259.  
  260.  The factorial operator returns a real number to allow a greater range.
  261. ?help
  262.  The `help` command displays on-line help.  To specify information on a
  263.  particular topic use the syntax:
  264.  
  265.      help <topic> 
  266.  
  267.  If <topic> is not specified, a short message is printed about
  268.  GNUPLOT. After help for the requested topic is given, help for
  269.  a subtopic may be requested by typing its name, extending the help
  270.  request. After that subtopic has been printed, you may extend the
  271.  request again, as before, or go back one level to the previous topic,
  272.  by simply pressing return without typing anything. Eventually, you
  273.  will return to the GNUPLOT command line.
  274. ?load
  275.  The `load` command executes each line of the specified input file as
  276.  if it had been typed in interactively.  Files created by the `save`
  277.  command can later be `load`ed.  Any text file containing valid
  278.  commands can be created and then executed by the `load` command.
  279.  Files being `load`ed may themselves contain `load` commands. See
  280.  `comment` for information about comments in commands. 
  281.  
  282.  The `load` command must be the last command on the line. 
  283.  
  284.  Syntax:
  285.          load <input-file>
  286.  
  287.  The name of the input file must be enclosed in quotes.
  288.  
  289.  Examples:
  290.  
  291.          load 'work.gnu'
  292.          load "func.dat"
  293.  
  294.  The `load` command is performed implicitly on any file names given as
  295.  arguments to gnuplot. These are loaded in the order specified, and
  296.  then gnuplot exits. 
  297. ?pause
  298.  Pause is useful in conjunction with `load` files.  The command `pause`
  299.  displays any text associated with the command and then waits the
  300.  specified amount of time.  This allows one to build a `load` file
  301.  and control the amount of time a finished graph is displayed.  The
  302.  first argument is an expression that can be -1, 0, or a positive
  303.  integer. Choosing -1 will wait until a carriage return is hit. Zero (0)
  304.  won't pause at all, and a positive integer (such as 1 or 15) will
  305.  wait the specified number of seconds. 
  306.  
  307.  Note: Since pause is not part of the plot it may interact with
  308.  different device drivers differently (depending upon how text and
  309.  graphics are mixed).
  310.  
  311.  Examples:
  312.          pause -1    ! Wait until a carriage return is hit
  313.          pause 3     ! Wait three seconds
  314.          pause -1  "Hit return to continue"
  315.          pause 10  "Isn't this pretty?  It's a cubic-spline."
  316.  
  317.  Syntax:
  318.          pause <expression> {"string"}
  319.  Note the string is optional, and if present must be enclosed in quotes.
  320. ?plot
  321.  `plot` is the primary command of the program.  It plots functions and
  322.  data in many, many ways.  The full syntax of this command is:
  323.  
  324.    plot {ranges}  <function> {title} {style} {, <function> {title} {style}...}
  325.  
  326.  Where <function> is either a mathematical expression or the name of a
  327.  data file enclosed in quotes.  User-defined functions and variables
  328.  may also be defined here. 
  329.  
  330.  Curly braces {,} denote optional items.
  331.  
  332.  A `plot` command can be as simple as
  333.  
  334.   plot sin(x)
  335.  
  336.  or as complex as (!)
  337.  
  338.   plot [t=1:10] [-pi:pi*2] tan(t),"data.1" with lines,t**2 with points
  339. ?plot datafile
  340. ?plot data-file
  341. ?datafile
  342. ?data-file
  343. ?data
  344.  Discrete data contained in a file can displayed by specifying the
  345.  name of the data file (enclosed in quotes) on the `plot` command
  346.  line. 
  347.  
  348.  Data files should contain one data point per line.  A data point may
  349.  be specified either as an X and Y value separated by blank space, or
  350.  as just the Y value, in which case the program will use the number
  351.  of the coordinate as the X value.  Coordinate numbers start at 0
  352.  and are incremented for each data point read.  Lines beginning with #
  353.  (or ! on VMS) will be treated as comments and ignored. 
  354.  
  355.  NOTE that blank lines cause a break in the input, and if the plot
  356.  style is `lines` or `linespoints` (see `plot style`) there will be no
  357.  line drawn between the preceding and following points. This does not
  358.  change the plot style, as would plotting the data as separate curves.
  359.  
  360.  This example compares the data in the file population.dat to a
  361.  theoretical curve:
  362.  
  363.          pop(x) = 103*exp((1965-x)/10)
  364.          plot [1960:1990] 'population.dat', pop(x)
  365.  
  366.  The file population.dat might contain:
  367.  
  368.   # Gnu population in Antarctica since 1965
  369.   1965   103
  370.   1970   55
  371.   1975   34
  372.   1980   24
  373.   1985   10
  374. ?plot ranges
  375. ?ranges
  376.  The optional range specifies the region of the plot which will be displayed. 
  377.  
  378.  Ranges may be provided on the `plot` command line and affect only
  379.  that plot, or in the `set xrange` and `set yrange` commands, to
  380.  change the default ranges for future plots.
  381.  
  382.  Syntax:
  383.          [{dummy-var =} {xmin : xmax}] { [{ymin : ymax}] }
  384.  
  385.  Where dummy-var is the independent variable (the default is `x`,
  386.  but this may be changed with the `set dummy` command) and the min
  387.  and max terms can be expressions or constants. 
  388.  
  389.  Both the min and max terms are optional.  The ':' is also optional
  390.  if neither a min nor a max term is specified.  This allows '[]' to
  391.  be used as a null range specification. 
  392.  
  393.  Specifying a range in the `plot` command line turns autoscaling for
  394.  that axis OFF for that plot. Using one of the `set` range commands
  395.  turns autoscaling off for that axis for future plots, unless changed
  396.  later. (See `set autoscale`).
  397.  
  398.  
  399.  Examples:
  400.  
  401.  This uses current ranges:
  402.          plot cos(x)
  403.  
  404.  This sets the xrange only:
  405.          plot [-10:30] sin(pi*x)/(pi*x)
  406.  
  407.  This is the same, but uses t as the dummy-variable:
  408.          plot [t = -10 :30]  sin(pi*t)/(pi*t)
  409.  
  410.  This sets both the x and yranges:
  411.          plot [-pi:pi] [-3:3]  tan(x), 1/x
  412.  
  413.  This sets only the yrange:
  414.          plot [] [-2:sin(5)*-8] sin(x)**besj0(x)
  415.  
  416.  This sets xmax and ymin only:
  417.          plot [:200] [-pi:]  exp(sin(x))
  418. ?plot style
  419. ?style
  420.  Plots may be displayed in one of four styles: `lines`, `points`,
  421.  `linespoints`, `impulses`, or `dots`.  The `lines` style connects
  422.  adjacent points with lines. The `points` style displays a small
  423.  symbol at each point.  The `linespoints` style does both `lines` and
  424.  `points`. The `impulses` style displays a vertical line from the X
  425.  axis to each point. The `dots` style plots a tiny dot at each point;
  426.  this is useful for scatter plots with many points.
  427.  
  428.  Default styles are chosen with the `set function style` and
  429.  `set data style` commands. 
  430.  
  431.  By default, each function and data file will use a different 
  432.  line type and point type, up to the maximum number of available 
  433.  types. All terminal drivers support at least six different point
  434.  types, and re-use them, in order, if more than six are required. 
  435.  The LaTeX driver supplies an additional six point types (all variants
  436.  of a circle), and thus will only repeat after twelve curves are
  437.  plotted with points.
  438.  
  439.  If desired, the actual line type and point type used for a plot can
  440.  be specified. Syntax:
  441.  
  442.          with <style> {<linetype> {<pointtype>}}
  443.  
  444.  Where <style> is either `lines`, `points`, `linespoints`, `impulses`,
  445.  or `dots`. These keywords may be abbreviated. 
  446.  Curly braces denote optional items.  The <linetype> and <pointtype> 
  447.  are positive integers, and specify the line type and point type to
  448.  be used for the plot.  Line type 1 is the first line type used by
  449.  default, line type 2 is the second line type used by default etc.
  450.  
  451.  Examples:
  452.  
  453.  This plots sin(x) with impulses:
  454.          plot sin(x) with impulses
  455.  
  456.  This plots sin(x) with points, cos(x) default:
  457.          plot [-9:30]  sin(x) w points, cos(x)
  458.  
  459.  This plots tan(x) with the default function style, "data.1" with lines:
  460.          plot [] [-2:5] tan(x), "data.1" with l
  461.  
  462.  This plots "leastsq.dat" with impulses:
  463.          plot 'leastsq.dat' w i
  464.  
  465.  This plots sin(x) and cos(x) with the same line type:
  466.          plot sin(x) with line 1, cos(x) with line 1
  467.  
  468.  This plots sin(x) and cos(x) with linespoints, using the
  469.  same line type but different point types:
  470.          plot sin(x) with linesp 1 3, cos(x) with linesp 1 4
  471.  
  472.  This plots file "data" with points style 3:
  473.          plot "data" with points 1 3 
  474.  Note that the line style must be specified in order to specify the
  475.  point style, even when it is irrelevant. Here the line style is 1 and
  476.  the point style is 3, and the line style is irrelevant.
  477. ?plot title
  478.  A title of each plot appears in the key.  By default the title is
  479.  the function or file name as it appears on the plot command line.
  480.  The title can be changed by using the `title` option. This option 
  481.  should precede any `with` option.
  482.  
  483.  Syntax:
  484.          title <title>
  485.  
  486.  Where <title> is the new title of the plot and must be enclosed in
  487.  quotes.
  488.  
  489.  Examples:
  490.  
  491.  This plots y=x with the title 'x':
  492.          plot x
  493.  
  494.  This plots y=x with the title 'y=x':
  495.          plot x title 'y=x'
  496.  
  497.  This plots x squared with title 'x^2' and "data.1" with title 'measured data':
  498.          plot x**2 title "x^2", "data.1" t 'measured data'
  499. ?print
  500.  The `print` command prints the value of <expression> to the screen.
  501.  
  502.  Syntax:
  503.          print <expression>
  504.  
  505.  See `expressions`.
  506. ?quit
  507.  The `exit` and `quit` commands and your computer's END-OF-FILE
  508.  character will exit GNUPLOT.  All these commands will clear the
  509.  output device (as the `clear` command does) before exiting. 
  510. ?replot
  511.  The `replot` command without arguments repeats the last `plot` command.  
  512.  This can be useful for viewing a plot with different `set` options, 
  513.  or when generating the same plot for several devices.
  514.  
  515.  Arguments specified after a `replot` command will be added onto the last
  516.  `plot` command (with an implied ',' separator) before it is repeated.
  517.  `replot` accepts the same arguments as the `plot` command except that
  518.  ranges cannot be specified. 
  519. ?save
  520.  The `save` command saves user-defined functions, variables, set
  521.  options or all three plus the last plot command to the specified file. 
  522.  
  523.  Syntax:
  524.          save  {<option>} <filename>
  525.  
  526.  Where <option> is `functions`, `variables` or `set`.  If no option is
  527.  used GNUPLOT saves functions, variables, set options and the last plot
  528.  command. 
  529.  
  530.  `save`d files are written in text format and may be read by the `load`
  531.  command.
  532.  
  533.  The filename must be enclosed in quotes.
  534.  
  535.  Examples:
  536.  
  537.          save "work.gnu"
  538.          save functions 'func.dat'
  539.          save var 'var.dat'
  540.          save set "options.dat"
  541. ?set
  542. ?show
  543.  The `set` command sets LOTS of options.
  544.  
  545.  The `show` command shows their settings.  `show all` shows all the
  546.  settings. 
  547. ?set arrow
  548. ?set noarrow
  549. ?show arrow
  550. ?arrow
  551. ?noarrow
  552.  Arbitrary arrows can be placed on the plot using the `set arrow`
  553.  command.
  554.  
  555.  Syntax:
  556.  
  557.           set arrow {tag} {from sx,sy} {to ex,ey}
  558.           set noarrow {tag}
  559.           show arrow
  560.  
  561.  
  562.  Curly braces {} denote optional items.
  563.  All positions x,y default to 0,0.
  564.  The x and y values are in the graph's coordinate system.  
  565.  The tag is an integer that is used to identify the arrow. 
  566.  If no tag is given, the lowest unused tag value is assigned
  567.  automatically. The tag can be used to delete or change a specific
  568.  arrow. To change any attribute of an existing arrow, use the `set
  569.  arrow` command with the appropriate tag, and specify the parts of the
  570.  arrow to be changed. 
  571.  
  572.  Arrows outside the plotted boundaries are permitted but may cause
  573.  device errors; use at your own risk.
  574.  
  575.  Examples: 
  576.  
  577.  To set an arrow pointing from the origin to (1,2) use
  578.           set arrow to 1,2
  579.  To set an arrow from (-10,4) to (-5,5), and tag the arrow number 3, use:
  580.           set arrow 3 from -10,4 to -5,5
  581.  To change the preceding arrow begin at 1,1, use
  582.           set arrow 3 from 1,1
  583.  To delete arrow number 2 use:
  584.           set noarrow 2
  585.  To delete all arrows use:
  586.           set noarrow
  587.  To show all arrows (in tag order) use:
  588.           show arrow
  589. ?set autoscale
  590. ?show autoscale
  591. ?autoscale
  592.  Auto scaling may be set on the X and/or Y axis. The default is to
  593.  autoscale both axes.
  594.  
  595.  If autoscaling of the Y axis is set, the Y axis is automatically scaled 
  596.  to fit the range of the function or data being plotted.  If autoscaling 
  597.  of the Y axis is not set, the current Y range is used.  See `set yrange`. 
  598.  
  599.  If autoscaling of the X axis is set, the X axis is automatically scaled
  600.  to fit the range of the data being plotted.  Autoscaling of the X axis 
  601.  will operate only on data.  Functions do not affect the X range and the
  602.  range used for functions is determined by the data plots.
  603.  See `set xrange`.
  604.  
  605.  Syntax:
  606.          set autoscale <axes>
  607.          set noautoscale <axes>
  608.          show autoscale
  609.  
  610.  where <axes> is either `x`, `y`, or `xy`.
  611.  If <axes> is not given then both axes are assumed.
  612.  
  613.  Examples:
  614.  
  615.  These set autoscaling of the Y axis.  X axis autoscaling not affected.
  616.          set autoscale y
  617.  
  618.  This sets autoscaling of the X and Y axes.
  619.          set autoscale xy
  620.          set autoscale
  621.  
  622.  This disables autoscaling of the X and Y axes.
  623.          set noautoscale
  624.  
  625.  This disables autoscaling of the X axis only.
  626.          set noautoscale x
  627. ?set clip
  628. ?set noclip
  629. ?show clip
  630. ?clip
  631. ?noclip
  632.  GNUPLOT can clip (actually, not plot at all) data points that fall
  633.  within but too close to the boundaries (this is so the large symbols
  634.  used for points will not extend outside the boundary lines).  To turn
  635.  on clipping, use `set clip points`.  To turn it back off, use `set
  636.  noclip points`. The default is `noclip`.  Without clipping you may have
  637.  points near the boundaries that look bad; try adjusting the x and y ranges.
  638.  
  639.  Syntax:
  640.          set clip points
  641.          set noclip points
  642.  
  643.  GNUPLOT can also clip lines that connect a point that is in range
  644.  with a point that is out of range. The default is to draw the 
  645.  in-range portion of such lines (i.e., to "clip" them). With the 
  646.  following syntax, the default is `set clip one`. The alternative 
  647.  (`set noclip one`) is to not draw any portion of the line segment. In
  648.  no case is a line drawn outside the plotting area.
  649.  
  650.  Syntax:
  651.          set clip one
  652.          set noclip one
  653.  
  654.  GNUPLOT does not show lines that are wholly out of range. Some lines
  655.  may have both endpoints out of range, but pass through the plotting
  656.  area. By default, GNUPLOT does not draw these lines (`set noclip
  657.  two`). They may be drawn (and clipped) with `set clip two`.
  658.  
  659.  Syntax:
  660.          set clip two
  661.          set noclip two
  662.  
  663.  To check the state of all forms of clipping, use
  664.          show clip
  665.  
  666.  The following forms are also permitted. These allow backward
  667.  compatibility with older versions. 
  668.         set clip
  669.         set noclip
  670.  `set clip` is synonymous with `set clip points`. `set noclip` turns
  671.  off all three types of clipping (`points`, `one`, and `two`).
  672. ?set dummy
  673. ?show dummy
  674. ?dummy
  675.  By default, GNUPLOT assumes that the independent variable for 
  676.  the `plot` command line is `x`.  `x` is called the dummy variable because
  677.  it is just a notation to indicate the independent variable.  The
  678.  `set dummy` command changes this default dummy variable name.  For
  679.  example, you may find it more convenient to call the dummy variable
  680.  `t` when plotting time functions:
  681.  
  682.          set dummy t
  683.          plot sin(t), cos(t)
  684.  
  685.  Syntax:
  686.          set dummy <dummy-var>
  687.          show dummy
  688. ?set format
  689. ?show format
  690. ?format
  691.  The format of the tic-mark labels can be set with the `set format`
  692.  command.  The default format for both axes is "%g", but other formats
  693.  such as "%.2f" or "%3.0fm" are often desirable.  Anything accepted by
  694.  printf when given a double precision number, and then accepted by the
  695.  terminal, will work.  In particular, the formats f, e, and g will work,
  696.  and the d, o, x, c, s, and u formats will not work.
  697.  
  698.  Syntax:
  699.          set format {<axes>} {"format-string"}
  700.          show format
  701.  
  702.  where <axes> is either `x`, `y`, `xy`, or nothing (which is the same
  703.  as `xy`).  The length of the string representing a ticmark (after 
  704.  formatting with printf) is restricted to 100 characters.
  705.  If the format string is omitted, the format will be returned to 
  706.  the default "%g". For LaTeX users, the format "$%g$" is often desirable.
  707.  If the empty string "" is used, no label will be plotted with each
  708.  tic, though the tic mark will still be plotted. To eliminate all tic
  709.  marks, use `set noxtics` or `set noytics`. 
  710.  
  711.  See also `set xtics` and `set ytics` for more control over tic labels.
  712. ?show functions
  713.  The `show functions` command lists all user-defined functions and
  714.  their definitions. 
  715.  
  716.  Syntax:
  717.          show functions
  718. ?set grid
  719. ?show grid
  720. ?grid
  721.  The optional `set grid` draws a grid at the tic marks with the axis
  722.  linetype.
  723.  
  724.  Syntax:
  725.          set grid
  726.          set nogrid
  727.          show grid
  728. ?set key
  729. ?show key
  730. ?key
  731.  The `set key` enables a key describing curves on a plot.  
  732.  By default the key is placed in the upper right corner of
  733.  the plot.  
  734.  
  735.  Syntax:
  736.          set key
  737.          set key x,y
  738.          set nokey
  739.          show key
  740.  
  741.  The coordinates x,y specify the location of the key on the plot.
  742.  The key is drawn as a sequence of lines, with one plot described
  743.  on each line.  On the right hand side of each line is a 
  744.  representation that attempts to mimic the way the curve is plotted.
  745.  On the left side of each line is the text description,
  746.  obtained from the `plot` command.  The lines are vertically
  747.  arranged so an imaginary straight line divides the left- and 
  748.  right-hand sides of the key.  It is the x-coordinate of this
  749.  line that you specify with the optional x in the `set key`
  750.  command; the y in the `set key` command is top of the key.
  751.  Some or all of the key may be outside of the plot boundary, if you
  752.  wish, although this may interfere with other labels and may cause an
  753.  error on some devices. 
  754.  
  755.  Examples:
  756.  
  757.  This places the key at the default location:
  758.          set key
  759.  This disables the key.
  760.          set nokey
  761.  This places a key at coordinates 2,3.5
  762.          set key 2,3.5
  763. ?set label
  764. ?set nolabel
  765. ?show label
  766. ?label
  767. ?nolabel
  768.  Arbitrary labels can be placed on the plot using the `set label`
  769.  command.
  770.  
  771.  Syntax:
  772.  
  773.           set label {tag} {"label_text"} {at x,y} {<justification>}
  774.           set nolabel {tag}
  775.           show label
  776.  
  777.  
  778.  Curly braces {} denote optional items.
  779.  The text defaults to "", and the position x,y to 0,0.
  780.  The x and y values are in the graph's coordinate system.  
  781.  The tag is an integer that is used to identify the label. 
  782.  If no tag is given, the lowest unused tag value is assigned
  783.  automatically. The tag can be used to delete or change a specific
  784.  label. To change any attribute of an existing label, use the `set
  785.  label` command with the appropriate tag, and specify the parts of the
  786.  label to be changed. 
  787.  
  788.  By default, the text is placed flush left against point x,y. If you
  789.  want to adjust the way the label is positioned with respect to the
  790.  point x,y, add the parameter <justification>, which may be `left`,
  791.  `right` or `center`, indicating that the point is to be at the left,
  792.  right or center of the text.  The <justification> may be abbreviated.
  793.  Labels outside the plotted boundaries are permitted but may interfere
  794.  with axes labels or other text; use at your own risk.
  795.  
  796.  Examples: 
  797.  
  798.  To set a label at (1,2) to "y=x" use:
  799.           set label "y=x" at 1,2
  800.  To set a label "y=x^2" with the right of the text at (2,3), and tag
  801.  the label number 3, use:
  802.           set label 3 "y=x^2" at 2,3 right
  803.  To change the preceding label to center justification, use:
  804.           set label 3 center
  805.  To delete label number 2 use:
  806.           set nolabel 2
  807.  To delete all labels use:
  808.           set nolabel
  809.  To show all labels (in tag order) use:
  810.           show label
  811.  
  812.  The Imagen driver allows \\ in a string to specify a newline.
  813. ?set logscale
  814. ?set nologscale
  815. ?show logscale
  816. ?logscale
  817. ?nologscale
  818.  Log scaling may be set on the X and/or Y axis.
  819.  
  820.  Syntax:
  821.          set logscale <axes>
  822.          set nologscale <axes>
  823.          show logscale
  824.  
  825.  Where <axes> is either `x`, `y`, or `xy`.
  826.  If <axes> is not given then both axes are assumed.
  827.  The command `set logscale` turns on log scaling on the specified
  828.  axes, while `set nologscale` turns off log scaling.
  829. ?set offsets
  830. ?show offsets
  831. ?offsets
  832.  The amount of the graph that the plot takes up may be controlled
  833.  to some extent with the `set offsets` command.  This command takes
  834.  four offset arguments -- <left>, <right>, <top> and <bottom>.  
  835.  By default, each offset is 0.  Each offest may be a constant or
  836.  an expression.  Left and right offsets are given in units of 
  837.  the x axis, while top and bottom offsets are given in units of 
  838.  the y axis.  The plot of sin(x), displayed with offsets of 
  839.  0, 0, 2, 2 will take up  1/3 of the displayed y axis.  
  840.  Offsets are particularly useful with polar coordinates as a means
  841.  of compensating for aspect ratio distortion.
  842.  
  843.  Syntax:
  844.          set offsets <left>, <right>, <top>, <bottom>
  845.          show offsets
  846. ?set output
  847. ?show output
  848. ?output
  849.  By default, plots are displayed to the standard output.  The
  850.  `set output` command redirects the display to the specified file or
  851.  device. 
  852.  
  853.  Syntax:
  854.          set output {<filename>}
  855.          show output
  856.  
  857.  The filename must be enclosed in quotes.  If the filename is
  858.  omitted, output will be sent to the standard output. 
  859. ?set polar
  860. ?show polar
  861. ?polar
  862.  The `set polar` command changes the meaning of the plot from
  863.  rectangular coordinates to polar coordinates.  In polar
  864.  coordinates, the dummy variable (x) is an angle.  The range
  865.  of this angle is changed from whatever it was to [0:2*pi].
  866.  
  867.  The command `set nopolar` changes the meaning of the plot back
  868.  to the default rectangular coordinate system.  The range of
  869.  x is changed from whatever it was to [-10:10].
  870.  
  871.  While in polar coordinates the meaning of an expression in x
  872.  is really r = f(x), where x is an angle of rotation. The xrange
  873.  controls the domain (the angle) of the function, and the yrange
  874.  controls the range (the radius). The plot is plotted on a rectangular
  875.  grid, and the `x` and `y` axes are both in units of the radius. Thus,
  876.  the yrange controls both dimensions of the plot output. There is no
  877.  way to specify the output dimensions separately.
  878.  
  879.  Syntax:
  880.          set polar
  881.          set nopolar
  882.          show polar
  883.  Example:
  884.          set polar
  885.          plot x*sin(x)
  886.          plot [-2*pi:2*pi] [-3:3] x*sin(x)
  887.  The first plot uses the default polar angular domain of 0 to 2*pi.
  888.  The radius (and the size of the plot) is scaled automatically. The
  889.  second plot expands the domain, and restricts the range of the radius
  890.  (and the size of the plot) to [-3:3].
  891. ?set samples
  892. ?show samples
  893. ?samples
  894.  The sampling rate of functions may be changed by the `set samples`
  895.  command.  By default, sampling is set to 160 points.  A higher
  896.  sampling rate will produce more accurate plots, but will take
  897.  longer.  When plotting datafiles, the sampling rate must be set 
  898.  higher than the number of data points.
  899.  
  900.  Syntax:
  901.          set samples <expression>
  902.          show samples
  903. ?set size
  904. ?show size
  905. ?size
  906.  The `set size` command scales the displayed size of the plot.
  907.  On some terminals, changing the size of the plot will result in
  908.  text being misplaced.  Increasing the size of the plot may 
  909.  produce strange results.  Decreasing is safer.
  910.  
  911.  Syntax:
  912.  
  913.          set size {x,y}
  914.          show size
  915.  
  916.  The x and y values are the scaling factors for the size.
  917.  The defaults (1,1) are selected if the scaling factors are omitted.
  918.  
  919.  Examples: 
  920.  
  921.  To set the size to normal size use:
  922.          set size
  923.  To make the plot half size use:
  924.          set size 0.5,0.5
  925.  To show the size use:
  926.          show size
  927.  
  928.  For the LaTeX and Fig terminals the default size (scale factor 1,1)
  929.  is 5 inches wide by 3 inches high. Note that the size of the plot
  930.  includes the space used by the labels; the plotting area itself is
  931.  smaller. 
  932. ?set style
  933. ?show style
  934. ?style
  935.  Plots may be displayed in one of five styles: `lines`, `points`,
  936.  `linespoints`, `impulses`, or `dots`.  The `lines` style connects
  937.  adjacent points with lines. The `points` style displays a small
  938.  symbol at each point.  The `linespoints` style does both `lines` and
  939.  `points`. The `impulses` style displays a vertical line from the X
  940.  axis to each point. The `dots` style plots a tiny dot at each data
  941.  point; this is useful for scatter plots with many points.
  942.  
  943.  Default styles are chosen with the `set function style` and `set
  944.  data style` commands.  See `plot style` for information about how 
  945.  to override the default plotting style for individual functions. 
  946.  
  947.  Syntax:
  948.          set function style <style>
  949.          set data style <style>
  950.          show function style
  951.          show data style
  952.  
  953.  Where <style> is either `lines`, `points`, `linespoints`, `impulses`,
  954.  or `dots`.
  955. ?set terminal
  956. ?show terminal
  957. ?terminal
  958.  GNUPLOT supports many different graphics devices.  Use the `set
  959.  terminal` command to select the type of device for which GNUPLOT
  960.  will produce output. 
  961.  
  962.  Syntax:
  963.          set terminal {<terminal-type>}
  964.          show terminal
  965.  
  966.  If <terminal-type> is omitted, GNUPLOT will list the available
  967.  terminal types.  <terminal-type> may be abbreviated. 
  968.  
  969.  Use `set output` to redirect this output to a file or device.
  970. ?set tics
  971. ?show tics
  972. ?tics
  973.  By default, tics are drawn inwards from the border on all four sides.
  974.  The `set tics` command can be used to change the tics to be 
  975.  drawn outwards on the left and bottom borders only.  
  976.  This is useful when doing impulse plots.
  977.  
  978.  Syntax:
  979.          set tics {<direction>}
  980.          show tics
  981.  
  982.  Where <direction> may be `in`, `out` or nothing (which is the same as in).
  983.  
  984.  See also the `set xtics` and `set ytics` command for more control of
  985.  tic marks. 
  986. ?set title
  987. ?show title
  988. ?title
  989.  The `set title` command sets the title which will be centered
  990.  at the top of the plot.
  991.  
  992.  Syntax: 
  993.           set title 
  994.           set title "title-text"
  995.           show title
  996.  
  997.  The first clears the title (default).
  998.  The second form sets the title to "title-text" (without the quotes).
  999.  
  1000.  The Imagen driver allows \\ in a string to specify a newline.
  1001. ?show variables
  1002.  The `show variables` command lists all user-defined variables and
  1003.  their values. 
  1004.  
  1005.  Syntax:
  1006.          show variables
  1007. ?set xlabel
  1008. ?show xlabel
  1009. ?xlabel
  1010.  The `set xlabel` command sets the x-axis label which will be centered
  1011.  at the bottom of the plot.
  1012.  
  1013.  Syntax: 
  1014.           set xlabel 
  1015.           set xlabel "label"
  1016.           show xlabel
  1017.  
  1018.  The first clears the x-axis label (default).
  1019.  The second form sets the x-axis label to "label" (without the quotes).
  1020.  
  1021.  The Imagen driver allows \\ in a string to specify a newline.
  1022. ?set xrange
  1023. ?show xrange
  1024. ?xrange
  1025.  The `set xrange` command sets the horizontal range which will be
  1026.  displayed.  This command turns X axis autoscaling OFF.
  1027.  
  1028.  This range may also be specified on the `plot` command line.
  1029.  
  1030.  Syntax:
  1031.          set xrange [{<xmin> : <xmax>}]
  1032.  
  1033.  Where <xmin> and <xmax> terms are expressions or constants.
  1034.  
  1035.  Both the <xmin> and <xmax> terms are optional. Anything omitted will
  1036.  not be changed, so 
  1037.          set xrange [:10]
  1038.  changes xmax to 10 without affecting xmin. 
  1039. ?set xtics
  1040. ?set noxtics
  1041. ?show xtics
  1042. ?xtics
  1043. ?noxtics
  1044.  Very fine control of the `x` axes tic marks is possible with the `set
  1045.  xtics` and `set noxtics` command. The x-axis tic marks may be turned
  1046.  off with the `set noxtics` command. They may be turned on (the
  1047.  default state) with `set xtics`.
  1048.  
  1049.  If you prefer your own series of tic marks, you may use the form
  1050.           set xtics <start>, <incr>{, <end>}
  1051.  The curly braces indicate that the <end> parameter is optional. 
  1052.  This command specifies that a series of tics will be plotted on the
  1053.  `x` axis between the `x` values <start> and <end> with an increment
  1054.  of <incr>. If <end> is not given it is assumed to be infinity. The
  1055.  increment may be negative. Example:
  1056.            set xtics 0,.5,10
  1057.  makes tics 0, 0.5, 1, 1.5, ..., 9.5, 10.
  1058.  
  1059.  If you need arbitrary tic positions, or non-numeric tic labels, 
  1060.  any non-empty set of tic positions and labels may be given with this
  1061.  format:
  1062.           set xtics ({"label"} pos {, {"label"} pos}...)
  1063.  Again curly braces contain optional components. Thus, a set of tics
  1064.  are a set of positions, each with its own optional label. Note that
  1065.  the label is a string enclosed by quotes, and may be a constant
  1066.  string, such as "hello", or contain formatting information for the tic
  1067.  number (which is the same as the position), such as "%3f clients".
  1068.  See `set format` for more information about this case. The label may 
  1069.  even be empty. Examples:
  1070.           set xtics ("low" 0, "medium" 50, "high" 100)
  1071.           set xtics (1,2,4,8,16,32,64,128,256,512,1024)
  1072.           set xtics ("bottom" 0, "" 10, "top" 20)
  1073.  
  1074.  Tics will only be plotted when in range.
  1075.  
  1076.  The `set ytics` and `set noytics` commands work identically.
  1077.  See also `set format` command.
  1078. ?set ylabel
  1079. ?show ylabel
  1080. ?ylabel
  1081.  The `set ylabel` command sets the y-axis label.
  1082.  The position of this label depends on the terminal, and can be
  1083.  one of the following three positions.
  1084.  
  1085.  1. Horizontal text flushed left at the top left of the plot.  
  1086.  Terminals that cannot rotate text will probably use this method.
  1087.  
  1088.  2. Vertical text centered vertically at the left of the plot.
  1089.  Terminals that can rotate text will probably use this method.
  1090.  
  1091.  3. Horizontal text centered vertically at the left of the plot.
  1092.  The Latex and EEPIC drivers use this method.  The user must insert 
  1093.  line breaks using \\ to prevent the ylabel from overwriting
  1094.  the plot.  To produce a vertical row of characters, add \\
  1095.  between every printing character.
  1096.  
  1097.  Syntax:  
  1098.           set ylabel 
  1099.           set ylabel "label"
  1100.           show ylabel
  1101.  
  1102.  The first clears the y-axis label (default).
  1103.  The second form sets the y-axis label to "label" (without the quotes).
  1104.  
  1105.  The Latex, EEPIC, and Imagen drivers allow \\ in a string to specify
  1106.  a newline. 
  1107. ?set yrange
  1108. ?show yrange
  1109. ?yrange
  1110.  The `set yrange` command sets the vertical range which will be
  1111.  displayed.  This command turns Y axis autoscaling OFF. 
  1112.  
  1113.  This range may also be specified on the `plot` command line.
  1114.  
  1115.  Syntax:
  1116.          set yrange [{<ymin> : <ymax>}]
  1117.  
  1118.  Where <ymin> and <ymax> terms are expressions or constants.
  1119.  
  1120.  Both the <ymin> and <ymax> terms are optional. Anything omitted will
  1121.  not be changed, so 
  1122.          set yrange [:10]
  1123.  changes ymax to 10 without affecting ymin. 
  1124. ?set ytics
  1125. ?set noytics
  1126. ?show ytics
  1127. ?ytics
  1128. ?noytics
  1129.  The `set ytics` and `set noytics` commands are similar to the `set xtics`
  1130.  and `set noxtics` commands. Please see `set xtics`.
  1131. ?set zero
  1132. ?show zero
  1133. ?zero
  1134.  GNUPLOT will not plot a point if its imaginary part is greater in
  1135.  magnitude than the `zero` threshold.  The default `zero` value is
  1136.  1e-8. This can be changed with the `set zero` command.
  1137.  
  1138.  Syntax:
  1139.          set zero <expression>
  1140.          show zero
  1141. ?shell
  1142.  The `shell` command spawns an interactive shell.  To return to
  1143.  GNUPLOT, type `logout` if using VMS, `exit` or your END-OF-FILE
  1144.  character if using Unix, or `exit` if using MS-DOS. 
  1145.  
  1146.  A single shell command may be spawned by preceding it with the !
  1147.  character ($ if using VMS) at the beginning of a command line.
  1148.  Control will return immediately to GNUPLOT after this command is
  1149.  executed.  For example,
  1150.  
  1151.       ! dir
  1152.  
  1153.  prints a directory listing and then returns to GNUPLOT.
  1154. ?startup
  1155. ?start
  1156. ?.gnuplot
  1157.  When GNUPLOT is run, it looks for an initialization file to load. 
  1158.  This file is called `.gnuplot` on Unix systems, and `GNUPLOT.INI` on
  1159.  other systems.  If this file is not found in the current directory,
  1160.  the program will look for it in your home directory (under MS-DOS, the
  1161.  environment variable GNUPLOT should contain the name of this
  1162.  directory). 
  1163.  
  1164.  If this file is found, GNUPLOT executes the commands in this file.
  1165.  This is most useful for setting your terminal type and defining any
  1166.  functions or variables which you use often.  The variable `pi` is
  1167.  already defined for you. 
  1168. ?substitution
  1169.  Command-line substitution is specified by a system command enclosed in
  1170.  backquotes.  This command is spawned and the output it produces
  1171.  replaces the name of the command (and backquotes) on the command line.
  1172.  
  1173.  Newlines in the output produced by the spawned command are replaced with
  1174.  blanks.
  1175.  
  1176.  Command-line substitution can be used anywhere on the GNUPLOT command
  1177.  line. 
  1178.  
  1179.  
  1180.  Example:
  1181.  
  1182.  This will run the program `leastsq` and substitute `leastsq`
  1183.  (including quotes) on the command line with its output:
  1184.  
  1185.   f(x) = `leastsq`
  1186.  
  1187.  or, in VMS
  1188.  
  1189.   f(x) = `run leastsq`
  1190. ?userdefined
  1191. ?variables
  1192.  You may define your own functions and variables.  User-defined
  1193.  functions and variables may be used anywhere. 
  1194.  
  1195.  User-defined function syntax:
  1196.      <function-name> ( <dummy-var> ) =  <expression>
  1197.  
  1198.  Where <expression> is defined in terms of <dummy-var>.
  1199.  
  1200.  User-defined variable syntax:
  1201.      <variable-name> = <constant-expression>
  1202.  
  1203.  Examples:
  1204.      w = 2
  1205.      q = floor(tan(pi/2 - 0.1))
  1206.      f(x) = sin(w*x)
  1207.      sinc(x) = sin(pi*x)/(pi*x)
  1208.      delta(t) = (t == 0)
  1209.      ramp(t) = (t > 0) ? t : 0
  1210.  
  1211.  The variable `pi` is already defined for you.
  1212.  
  1213.  See `show functions` and `show variables`.
  1214. ?bugs
  1215.  The atan() function does not work correctly for complex arguments.
  1216.  
  1217.  The most important known bug is actually in the stdio library for the
  1218.  Sun4 operating system (SunOS Sys4-3.2). The "%g" format for `printf`
  1219.  sometimes incorrectly prints numbers (e.g., 200000.0 as "2").  Thus,
  1220.  tic mark labels may be incorrect on a Sun4 version of gnuplot.  You
  1221.  may work around it by rescaling your data or by using the `set format`
  1222.  command to change the tic mark format to "%7.0f" or some other
  1223.  appropriate format. This appears to have been fixed in SunOS 4.0.
  1224.  
  1225.  Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2
  1226.  and SunOS 4.0, the `sscanf` routine incorrectly parses "00 12" with
  1227.  the format "%f %f" and reads 0 and 0 instead of 0 and 12.  This
  1228.  affects data input. If your data file contains X coordinates that are
  1229.  zero but are specified like '00', '000', etc, then you will read the
  1230.  wrong Y values. Check your data files or do not use a Sun4 until they
  1231.  fix the bug. It does NOT appear that this has been fixed in SunOS 4.0.
  1232.  
  1233.  Microsoft C 5.1 has a nasty bug associated with the %g format for
  1234.  printf.  When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are
  1235.  used, printf will incorrectly print numbers in the range 1e-4 to 1e-1.  
  1236.  Numbers that should be printed in the %e format are incorrectly 
  1237.  printed in the %f format, with the wrong number of zeros after the 
  1238.  decimal point.
  1239.  To work around this problem, use the %e or %f formats explicitly.
  1240.  
  1241.  Gnuplot when compiled with Microsoft C did not work correctly on two
  1242.  VGA displays that were tested.  The CGA, EGA and VGA drivers should 
  1243.  probably be rewritten to use the Microsoft C graphics library.
  1244.  Gnuplot compiled with Turbo C uses the Turbo C graphics drivers and 
  1245.  does work correctly with VGA displays. 
  1246.  
  1247.  VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g 
  1248.  format for printf.  The numbers are printed numerically correct, but 
  1249.  may not be in the requested format.  The K&R second edition says that 
  1250.  for the %g format, %e is used if the exponent is less than -4 or greater 
  1251.  than or equal to the precision.  The VAX uses %e format if the exponent 
  1252.  is less than -1.  The VAX appears to take no notice of the precision 
  1253.  when deciding whether to use %e or %f for numbers less than 1.
  1254.  To work around this problem, use the %e or %f formats explicitly.
  1255.  From the VAX C 2.4 release notes:
  1256.  e,E,f,F,g,G  Result will always contain  a  decimal  point.
  1257.  For g and G, trailing zeros will not be removed from the result.
  1258.  
  1259.  VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented
  1260.  %g format than release 2.4, but not much.  Trailing decimal points are 
  1261.  now removed, but trailing zeros are still not removed from %g numbers 
  1262.  in exponential format.
  1263.